.\" Someone tell emacs that this is an -*- nroff -*- source file.
.\" Copyright 1997, 1998, 1999 Guy Maor.
.\" Adduser and this manpage are copyright 1995 by Ted Hajek,
.\" With much borrowing from the original adduser copyright 1994 by
.\" Ian Murdock.
.\" 
.\" This is free software; see the GNU General Public License version
.\" 2 or later for copying conditions.  There is NO warranty.
.TH ADDUSER 8 "Version VERSION" "Debian GNU/Linux"
.SH NAME
adduser, addgroup \- add a user or group to the system
.SH SYNOPSIS
.BR adduser " [options] [\-\-home DIR] [\-\-shell SHELL] [\-\-no-create-home] [\-\-uid ID] [\-\-firstuid ID] [\-\-lastuid ID] [\-\-ingroup GROUP | \-\-gid ID] [\-\-disabled-password] [\-\-disabled-login] [\-\-gecos GECOS] [\-\-add_extra_groups] [\-\-encrypt-home] user"
.PP
.BR adduser " \-\-system [options] [\-\-home DIR] [\-\-shell SHELL] [\-\-no-create-home] [\-\-uid ID] [\-\-group | \-\-ingroup GROUP | \-\-gid ID] [\-\-disabled-password] [\-\-disabled-login] [\-\-gecos GECOS] user"
.PP
.BR addgroup " [options] [\-\-gid ID] group"
.PP
.BR addgroup " \-\-system [options] [\-\-gid ID] group"
.PP
.BR adduser " [options] user group"
.SS COMMON OPTIONS
.br
[\-\-quiet] [\-\-debug] [\-\-force-badname] [\-\-help|\-h] [\-\-version] [\-\-conf FILE]
.SH DESCRIPTION
.PP
.BR adduser " and " addgroup
add users and groups to the system according to command line options
and configuration information in
.IR /etc/adduser.conf .
They are friendlier front ends to the low level tools like 
.BR useradd,
.BR groupadd " and " usermod
programs, by default choosing Debian policy conformant UID and GID values, 
creating a home directory with skeletal configuration, running a custom 
script, and other features.
.BR adduser " and " addgroup
can be run in one of five modes:
.SS "Add a normal user"
If called with one non-option argument and without the
.BR \-\-system " or " \-\-group " options, " adduser
will add a normal user.

.B adduser
will choose the first available UID from the range specified for
normal users in the configuration file.  The UID can be overridden
with the
.B \-\-uid
option.

The range specified in the configuration file may be overridden with the
.B \-\-firstuid
and
.B \-\-lastuid
options.

By default, each user in Debian GNU/Linux is given a corresponding
group with the same name.  Usergroups allow group writable
directories to be easily maintained by placing the appropriate users
in the new group, setting the set-group-ID bit in the directory, and ensuring
that all users use a umask of 002.  If this option is turned off by setting
.B USERGROUPS
to
.IR no ,
all users' GIDs are set to
.BR USERS_GID .
Users' primary groups can also be overridden from the command line with the
.BR \-\-gid " or " \-\-ingroup
options to set the group by id or name, respectively.  Also, users can be
added to one or more groups defined in adduser.conf either by setting
ADD_EXTRA_GROUPS to 1 in adduser.conf, or by passing 
.B \-\-add_extra_groups 
on the commandline.

.B adduser
will create a home directory subject to
.BR DHOME ", " GROUPHOMES ", and " LETTERHOMES .
The home directory can be overridden from the command line with the
.B \-\-home
option, and the shell with the
.B \-\-shell
option. The home directory's set-group-ID bit is set if
.B USERGROUPS
is
.I yes
so that any files created in the user's home directory will
have the correct group.

.B adduser
will copy files from
.B SKEL
into the home directory and prompt for finger (gecos) information and
a password.  The gecos may also be set with the
.B \-\-gecos
option.  With the
.B \-\-disabled-login
option, the account will be created but will be disabled until a
password is set. The
.B \-\-disabled-password
option will not set a password, but login is still possible (for example
with SSH RSA keys).
To set up an encrypted home directory for the new user, add the
.B \-\-encrypt-home
option.  For more information, refer to the \-b option of
.B ecryptfs-setup-private(1).

If the file
.B /usr/local/sbin/adduser.local
exists, it will be executed after the user account has been set
up in order to do any local setup.  The arguments passed to
.B adduser.local
are:
.br
username uid gid home-directory
.br 
The environment variable VERBOSE is set according to the following rule:
.TP 
0 if 
.B \-\-quiet
is specified
.TP 
1 if neither 
.B \-\-quiet 
nor
.B \-\-debug 
is specified
.TP 
2 if 
.B \-\-debug
is specified

(The same applies to the variable DEBUG, but DEBUG is deprecated and will be removed in a later version of 
.BR adduser .)

.SS "Add a system user"
If called with one non-option argument and the
.BR \-\-system " option, " adduser
will add a system user. If a user with the same name already exists in
the system uid range (or, if the uid is specified, if a user with that
uid already exists), adduser will exit with a warning. This warning can be suppressed by adding 
.BR \-\-quiet .

.B adduser
will choose the first available UID from the range specified for
system users in the configuration file (FIRST_SYSTEM_UID and LAST_SYSTEM_UID). If you want to have a specific UID, you can specify it using the
.B \-\-uid
option.

By default, system users are placed in the
.B nogroup
group.  To place the new system user in an already existing group, use
the
.BR \-\-gid " or " \-\-ingroup
options.  To place the new system user in a new group with the same ID, use
the
.B \-\-group
option.

A home directory is created by the same rules as for normal users.
The new system user will have the shell
.I /usr/sbin/nologin
(unless overridden with the
.B \-\-shell
option), and have logins disabled.  Skeletal configuration files
are not copied.
.SS "Add a user group"
If 
.BR adduser " is called with the " \-\-group " option and without the
.BR \-\-system " option, or " addgroup " is called respectively, a user
group will be added.


A GID will be chosen from the range specified for system GIDS in the
configuration file (FIRST_GID, LAST_GID). To override that mechanism you can give the GID using the
.B \-\-gid
option.

The group is created with no users.
.SS "Add a system group"
If 
.BR addgroup " is called with the
.BR \-\-system " option, a system group will be added.

A GID will be chosen from the range specified for system GIDS in the
configuration file (FIRST_SYSTEM_GID, LAST_SYSTEM_GID). To override that mechanism you can give the GID using the
.B \-\-gid
option.

The group is created with no users.
.SS "Add an existing user to an existing group"
If called with two non-option arguments,
.B adduser
will add an existing user to an existing group.
.SH OPTIONS
.TP
.B \-\-conf FILE
Use FILE instead of
.IR /etc/adduser.conf .
.TP
.B \-\-disabled-login
Do not run passwd to set the password.  The user won't be able to use
her account until the password is set.
.TP
.B \-\-disabled-password
Like \-\-disabled-login, but logins are still possible (for example using 
SSH RSA keys) but not using password authentication.
.TP
.B \-\-force\-badname
By default, user and group names are checked against the configurable
regular expression 
.B NAME_REGEX
(or
.B NAME_REGEX_SYSTEM
if
.B --system
is specified)
specified in the configuration file. This option forces
.B adduser
and 
.B addgroup
to apply only a weak check for validity of the name.
.B NAME_REGEX
is described in 
.BR adduser.conf (5).
.TP
.B \-\-gecos GECOS
Set the gecos field for the new entry generated.
.B adduser 
will not ask for finger information if this option is given.
.TP
.B \-\-gid ID
When creating a group, this option forces the new groupid to be the
given number.  When creating a user, this option will put the user in
that group.
.TP
.B \-\-group
When combined with 
.BR \-\-system ,
a group with the same name and ID as the system user is created.
If not combined with
.BR \-\-system ,
a group with the given name is created.  This is the default action if
the program is invoked as
.BR addgroup .
.TP
.B \-\-help
Display brief instructions.
.TP
.B \-\-home DIR
Use DIR as the user's home directory, rather than the default specified by the
configuration file.  If the directory does not exist, it is created
and skeleton files are copied.
.TP
.B \-\-shell SHELL
Use SHELL as the user's login shell, rather than the default specified by the
configuration file.
.TP
.B \-\-ingroup GROUP
Add the new user to GROUP instead of a usergroup or the default group
defined by 
.B USERS_GID 
in the configuration file.  This affects the users primary group.  To add additional
groups, see the 
.B add_extra_groups
option.
.TP
.B \-\-no-create-home
Do not create the home directory, even if it doesn't exist.
.TP
.B \-\-quiet
Suppress informational messages, only show warnings and errors.
.TP
.B \-\-debug
Be verbose, most useful if you want to nail down a problem with adduser.
.TP
.B \-\-system
Create a system user or group.
.TP
.B \-\-uid ID
Force the new userid to be the given number.
.B adduser 
will fail if the userid is already taken.
.TP
.B \-\-firstuid ID
Override the first uid in the range that the uid is chosen from (overrides
.B FIRST_UID
specified in the configuration file).
.TP
.B \-\-lastuid ID
Override the last uid in the range that the uid is chosen from (
.B LAST_UID
)
.TP
.B \-\-add_extra_groups
Add new user to extra groups defined in the configuration file.
.TP
.B \-\-version
Display version and copyright information.

.SH EXIT VALUES

.TP
.B 0 
The user exists as specified. This can have 2 causes: The user was created by adduser or the user was already present on the system before adduser was invoked. If adduser was returning 0 , invoking adduser a second time with the same parameters as before also returns 0.
.TP
.B 1
Creating the user or group failed because it was already present with other UID/GID than specified. The username or groupname was rejected because of a mismatch with the configured regular expressions, see adduser.conf(5). Adduser has been aborted by a signal.
.br
Or for many other yet undocumented reasons which are printed to console then. You may then consider to remove 
.B \-\-quiet
to make adduser more verbose.

.SH FILES
.TP 
/etc/adduser.conf
Default configuration file for adduser and addgroup
.TP
/usr/local/sbin/adduser.local
Optional custom add-ons.

.SH "SEE ALSO"
.BR adduser.conf (5), 
.BR deluser (8), 
.BR groupadd (8), 
.BR useradd (8), 
.BR usermod (8),
Debian Policy 9.2.2.

.SH COPYRIGHT
Copyright (C) 1997, 1998, 1999 Guy Maor. Modifications by Roland
Bauerschmidt and Marc Haber. Additional patches by Joerg Hoh and Stephen Gran.
.br
Copyright (C) 1995 Ted Hajek, with a great deal borrowed from the original
Debian 
.B adduser
.br
Copyright (C) 1994 Ian Murdock.
.B adduser
is free software; see the GNU General Public Licence version 2 or
later for copying conditions.  There is
.I no
warranty.
